<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Size in bytes</th>
      <th>Default value</th>
      <th>Comment</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Protocol</td>
      <td>1</td>
      <td>0xE3</td>
      <td>- </td>
    </tr>
    <tr>
      <td>Size</td>
      <td>4</td>
      <td>-</td>
      <td>The size of the message in bytes not including the header and size fileds</td>
    </tr>
    <tr>
      <td>Type</td>
      <td>1</td>
      <td>0x01</td>
      <td>The value of the OP_LOGINREQUEST opcode</td>
    </tr>
    <tr>
      <td>User Hash</td>
      <td>16</td>
      <td>-</td>
      <td>- </td>
    </tr>
    <tr>
      <td>Client ID</td>
      <td>4</td>
      <td>0</td>
      <td>The client ID that is sent on first connection is usually zero</td>
    </tr>
    <tr>
      <td>TCP Port</td>
      <td>2</td>
      <td>4662</td>
      <td>The TCP port used by the client, configurable</td>
    </tr>
    <tr>
      <td>Tag Count</td>
      <td>4</td>
      <td>4</td>
      <td>The number of tags following in the message</td>
    </tr>
    <tr>
      <td>Name Tag</td>
      <td>varies</td>
      <td>NA</td>
      <td>The user's nickname. The tag is a string tag and the tag name is an integer of value 0x1</td>
    </tr>
    <tr>
      <td>Version Tag</td>
      <td>8</td>
      <td>0x3C</td>
      <td>The eDonkey version supported by the client. The tag is an integer tag and the tag name is an integer of value 0x11</td>
    </tr>
    <tr>
      <td>Port Tag</td>
      <td>8</td>
      <td>4662</td>
      <td>The TCP port used by the client. The tag is an integer tag and the tag name is an integer of value 0x0F</td>
    </tr>
    <tr>
      <td>Flags Tag</td>
      <td>8</td>
      <td>0x01</td>
      <td>The tag is an integer tag and the tag name is an integer of value 0x20</td>
    </tr>
  </tbody>
</table>